const path = require('path')
module.exports = {
  publicPath: './',
  configureWebpack: {
    externals: {
      /**
        * externals 对象属性解析：
        * '包名' : '在项目中引入的名字'
      */
      vue: 'Vue',
      vuex: 'Vuex',
      echarts: 'echarts',
      'element-ui': 'ELEMENT',
      'vue-quill-editor': 'VueQuillEditor',
      'highlight.js': 'hljs',
      'cos-js-sdk-v5': 'COS',
      mockjs: 'Mock',
      'vue-router': 'VueRouter',
      'vue-i18n': 'VueI18n',
      axios: 'axios',
      dayjs: 'dayjs'
    }
  },
  lintOnSave: false,
  chainWebpack: config => {
    const svgRule = config.module.rule('svg')
    svgRule.uses.clear()
    svgRule
      .test(/.svg$/)
      .include.add(path.resolve(__dirname, './src/icons/svg'))
      .end()
      .use('svg-sprite-loader')
      .loader('svg-sprite-loader')
      .options({
        symbolId: 'icon-[name]'
      })
    const fileRule = config.module.rule('file')
    fileRule.uses.clear()
    fileRule
      .test(/.svg$/)
      .exclude.add(path.resolve(__dirname, './src/icons/svg'))
      .end()
      .use('file-loader')
      .loader('file-loader')
  }

}
